With the advancement of communication technology, the use of video streaming has become an integral part of the lives of Internet users. Video streaming has also gained popularity in real-time surveillance, video conferencing, etc. However, with the increase in popularity of video streaming, various performance related issues have arisen, mainly as a result of bandwidth constraints. A typical example of these performance related issues is a user watching a streaming video on the Internet and not obtaining a required audio or video quality.
One of the reasons for poor video quality in Moving Picture Experts Group (MPEG) video is random packet loss in the streamed video Group of Pictures (GoP). A GoP is a logical partitioning of a sequence of video frames. A typical GoP includes three types of pictures or frames, namely, Intra coded pictures (I-frames), Predicted pictures (P-frames) and Bi-predictive pictures (B-frames). A GoP starts with an I-frame, which is also referred to as a key or reference frame. An I-frame is intra-coded, which means that the discrete cosine transform (DCT) co-efficients of pixel blocks are encoded without reference to pixel blocks of other frames. A P-frame is encoded using motion compensation and prediction. It consists of motion vectors which specify the extent to which a particular pixel block has spatially moved relative to its position in the previous reference frame. The reference for a P-frame could be an I-frame or a previous P-frame. B-frames, unlike I-frames and P-frames, contain bi-directionally predicted blocks. Therefore, to decode a B-frame, the past and future reference frames are needed.
Typically, whenever there is a bandwidth constraint, random packet loss occurs, regardless whether an I-frame is dropped or a P- or B-frame. As mentioned above, a P-frame is dependent on an I-frame and possibly other P-frames. Therefore, if packets containing I-frame data are dropped during random packet dropping, all the subsequent P-frames in that GoP will not be decoded properly. The same problem occurs if P-frames are randomly dropped, without considering their dependency on other P-frames.
One method to avoid random packet dropping is to reserve enough network level resources so that packet dropping does not happen. However, that method does not work when the demand for streaming video fluctuates, since the reserved network level resources may not be adequate when the demand surges.
Another approach is to tag packets in a video stream, where the network then decides the priorities of the packets. Only packets with high priority may be allowed to be transmitted. However, a fundamental problem with this approach is the need for a device which automatically tags a flow of video frames in a video stream. Also, this approach does not work when there is a bandwidth constraint and the demand for streaming videos changes dynamically.
In light of the foregoing, there is a need for an improved method and system for multicast video streaming over a WLAN.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.